其他
数据呈现丨R绘图:物以类聚,图以群分——聚类分析及可视化
The following article is from R语言 Author 王路情
问题提出
当数据没有标签或者有少量标签的时候,我们需要使用聚类分析来发现数据的模式,便于理解聚类分析的结果或者效果,如何对聚类分析做可视化呢?
解决方法
library(pacman)
p_load(factoextra)
左右滑动查看更多
# 导入数据集
data("USArrests")
# 数据集理解
?USArrests
# 数据集检视
head(USArrests)
左右滑动查看更多
df <- scale(USArrests)
head(df, 10)
左右滑动查看更多
不管是层次聚类还是划分聚类,都要寻找一个距离度量。然后根据计算后的距离,采用不同的策略进行数据集的汇聚。
1、基于相关系数的距离度量和可视化
res.dist <- get_dist(df, method = "pearson")
head(round(as.matrix(res.dist), 2))[, 1:6]
# 可视化相关系数矩阵
fviz_dist(res.dist, lab_size = 8)
左右滑动查看更多
2、 增强型分层聚类和可视化
res.hc <- eclust(df, "hclust")
fviz_dend(res.hc, rect = TRUE) # 树图
fviz_cluster(res.hc) # 散点图
fviz_silhouette(res.hc) # 轮廓图
左右滑动查看更多
分层树图
3、 增强型K均值聚类和可视化
res.km <- eclust(df, "kmeans", nstart = 25) #聚类的散点图
fviz_gap_stat(res.km$gap_stat) # 不同K值下Gap 统计图,指导选择最佳K值
fviz_silhouette(res.km) # 轮廓图,每种聚类下面的分布情况
左右滑动查看更多
聚类散点图
4、k均值结果可视化的其他表示方式
p_load(cluster, fpc)
plotcluster(USArrests, res.km$cluster)
左右滑动查看更多
clusplot(USArrests, res.km$cluster, color=TRUE, shade=TRUE,
labels=2, lines=0)
左右滑动查看更多
思考题
Q
如何查看聚类结果的详细信息?
Q
如何对K均值聚类的中心点做可视化分析?
►往期推荐
回复【Python】👉简单有用易上手
回复【学术前沿】👉机器学习丨大数据
回复【数据资源】👉公开数据
回复【可视化】👉你心心念念的数据呈现
回复【老姚专栏】👉老姚趣谈值得一看
►一周热文
数据呈现 | R绘图:南丁格尔图,展示全国现制饮品店密度分布
数据Seminar
这里是大数据、分析技术与学术研究的三叉路口
欢迎扫描👇二维码添加关注